package com.legal.aid.app.mapper;

import com.legal.aid.app.domain.dto.CommentDto;
import com.legal.aid.app.domain.vo.CommentVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface AppCommentMapper {

    /**
     * 查询评论列表
     */
    List<CommentVo> selectCommentList(CommentDto commentDto);

    /**
     * 新增评论
     */
    int insertComment(CommentVo comment);

    /**
     * 更新评论点赞数
     */
    int updateCommentLikeCount(@Param("commentId") Long commentId, @Param("likeCount") Integer likeCount);

    /**
     * 批量更新评论点赞数
     */
    // CommentMapper接口新增方法
    int batchUpdateCommentLikeCount(
            @Param("commentIds") List<Long> commentIds,
            @Param("targetTypes") List<String> targetTypes,
            @Param("likeCounts") List<Integer> likeCounts);

    /**
     * 根据评论ID查询评论信息
     *
     * @param commentId 评论ID
     * @return 评论信息
     */
    CommentVo selectCommentById(Long commentId);
}
